package com.sergio.accounting.dto;

import lombok.Data;
import lombok.Builder;
import lombok.NoArgsConstructor;
import lombok.AllArgsConstructor;

import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;

/**
 * 记账记录返回数据传输对象
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class RecordResponseDTO {

    private Long id;
    private Long userId;
    private String recordType;
    private BigDecimal amount;
    private Long categoryId;
    private String categoryName;
    private String categoryIcon;
    private String categoryType;
    private String note;
    private LocalDate recordDate;
    private LocalDateTime createdAt;
    private LocalDateTime updatedAt;
    
    // 账户信息
    private Long accountId;
    private String accountName;
    private String accountIcon;
    private String accountType;
    private BigDecimal accountBalanceBefore; // 交易前余额
    private BigDecimal accountBalanceAfter;  // 交易后余额
}
